home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / apidev / shotbl.arc / MAPTABLE.ASM < prev    next >
Assembly Source File  |  1988-12-12  |  3KB  |  142 lines

  1. ;*****************************************************************************
  2. ;*
  3. ;* Program Name:  SHELL TABLE ASSEMBLY INTERFACE
  4. ;*
  5. ;* Filename:      maptable.asm
  6. ;*
  7. ;* Date Created:  November 18, 1988
  8. ;*
  9. ;* Version:      1.0
  10. ;*
  11. ;* Programmers:      Thomas Brough
  12. ;*
  13. ;* Files used:
  14. ;*
  15. ;* Date Modified: 
  16. ;*
  17. ;* Modifications: 
  18. ;*
  19. ;* Comments:
  20. ;*
  21. ;*****************************************************************************
  22.  
  23.  
  24. name    ShellTableFunctions
  25.  
  26. PGROUP    Group    _TEXT
  27.     assume cs:PGroup
  28.  
  29. _TEXT    segment    public 'CODE'
  30.  
  31.     public    _GetConnectionInfoTable
  32.     public    _GetDriveHandleTable
  33.     public    _GetDriveFlagTable
  34.     public    _GetDriveServerTable
  35.     public    _GetServerNameTable
  36. ;
  37. ;Syntax: void GetConnectionInfoTable( WORD *tableSegment, WORD * tableOffset );
  38. ;
  39. _GetConnectionInfoTable    proc    near
  40.     push    bp            ;save current BP
  41.     mov    bp, sp            ;point new BP to current stack
  42.  
  43.     xor    si, si
  44.     mov    es, si
  45.     mov    ax, 0EF03h        ;get server mapping table function
  46.     int    21h
  47.  
  48.     mov    di, [bp + 4]         ;ES returns segment address of table
  49.     mov    [di], es
  50.     mov    di, [bp + 6]        ;SI returns offset address of table
  51.     mov    [di], si    
  52.  
  53.     pop    bp            ;restore old BP
  54.     ret                ;return to caller
  55. _GetConnectionInfoTable    endp
  56. ;
  57. ;Syntax: void GetDriveHandleTable( WORD *tableSegment, WORD * tableOffset );
  58. ;
  59. _GetDriveHandleTable    proc    near
  60.     push    bp            ;save current BP
  61.     mov    bp, sp            ;point new BP to current stack
  62.  
  63.     xor    si, si
  64.     mov    es, si
  65.     mov    ax, 0EF00h        ;get drive handle table function
  66.     int    21h
  67.  
  68.     mov    di, [bp + 4]         ;ES returns segment address of table
  69.     mov    [di], es
  70.     mov    di, [bp + 6]        ;SI returns offset address of table
  71.     mov    [di], si    
  72.  
  73.     pop    bp            ;restore old BP
  74.     ret                ;return to caller
  75. _GetDriveHandleTable    endp
  76. ;
  77. ;Syntax: void GetDriveFlagTable( WORD *tableSegment, WORD * tableOffset );
  78. ;
  79. _GetDriveFlagTable    proc    near
  80.     push    bp            ;save current BP
  81.     mov    bp, sp            ;point new BP to current stack
  82.  
  83.     xor    si, si
  84.     mov    es, si
  85.     mov    ax, 0EF01h        ;get drive flag table function
  86.     int    21h
  87.  
  88.     mov    di, [bp + 4]         ;ES returns segment address of table
  89.     mov    [di], es
  90.     mov    di, [bp + 6]        ;SI returns offset address of table
  91.     mov    [di], si    
  92.  
  93.     pop    bp            ;restore old BP
  94.     ret                ;return to caller
  95. _GetDriveFlagTable    endp
  96.  
  97. ;
  98. ;Syntax: void GetDriveServerTable( WORD *tableSegment, WORD * tableOffset );
  99. ;
  100. _GetDriveServerTable    proc    near
  101.     push    bp            ;save current BP
  102.     mov    bp, sp            ;point new BP to current stack
  103.  
  104.     xor    si, si
  105.     mov    es, si
  106.     mov    ax, 0EF02h        ;get drive server table function
  107.     int    21h
  108.  
  109.     mov    di, [bp + 4]         ;ES returns segment address of table
  110.     mov    [di], es
  111.     mov    di, [bp + 6]        ;SI returns offset address of table
  112.     mov    [di], si    
  113.  
  114.     pop    bp            ;restore old BP
  115.     ret                ;return to caller
  116. _GetDriveServerTable    endp
  117. ;
  118. ;Syntax: void GetServerNameTable( WORD *tableSegment, WORD * tableOffset );
  119. ;
  120. _GetServerNameTable    proc    near
  121.     push    bp            ;save current BP
  122.     mov    bp, sp            ;point new BP to current stack
  123.  
  124.     xor    si, si
  125.     mov    es, si
  126.     mov    ax, 0EF04h        ;get server name table function
  127.     int    21h
  128.  
  129.     mov    di, [bp + 4]         ;ES returns segment address of table
  130.     mov    [di], es
  131.     mov    di, [bp + 6]        ;SI returns offset address of table
  132.     mov    [di], si    
  133.  
  134.     pop    bp            ;restore old BP
  135.     ret                ;return to caller
  136. _GetServerNameTable    endp
  137.  
  138.  
  139. _TEXT    ends
  140.     end
  141.  
  142.